<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Prefix Wizard</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body>
<table width="100%" border="0" cellpadding="4">
  <tr>
    <td class="head" height="16">Prefix Wizard</td>
  </tr>
  <tr>
    <td bgcolor="#FF9900" height="6"></td>
  </tr>
  <tr>
    <td height=6></td>
  </tr>
</table>
<p class="title">Prefix Wizard</p>
<p class="text" align="left">
This wizard can rename components to correct prefix by some rules. Both Delphi/C++Builder are supported.</p>
<p class="text" align="left">
There are three rename mode in this wizard, including Auto, Prompt and Manual.</p>
<p class="text" align="left">
&nbsp;</p>
<p class="title">Rename Prompt</p>
<p class="text" align="left">
In default options, if you put a new component or modify name of a component, this wizard will check whether the new name accords with its rule. If not, a rename dialog will popup to let you rename the component.</p>
<p class="text" align="left">
If the rule of this component type was not defined, a prefix type dialog will popup as below:</p>
<p class="text" align="center">
<img src="prefixdefine.png"></p>
<p class="text" align="left">
You can enter the prefix of this type of component.</p>
<ul>
  <li>
<p class="text" align="left">
<b>Ignore This Type of Component</b>: If this was selected, all this type of component will be ignored and never prompt again after clicking "<b>OK</b>" or "<b>Cancel</b>" Button.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Never Ask Again</b>: If this was selected, all components without a prefix rule will be ignored.</p>
  </li>
  <li>
<p class="text" align="left">
<b>OK</b>: Confirm this prefix for this type of component.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Cancel</b>: Cancel the modification.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Help</b>: Show this help.</p>
  </li>
</ul>
<p class="text">
If a prefix rule for a type of component was defined, and a new or name-modified component's prefix does NOT accord with this rule, a rename dialog will popup to rename this component as below:</p>
<p class="text" align="center">
<img src="prefixedit.png"></p>
<p class="text" align="left">
You can enter new component name here.</p>
<ul>
  <li>
<p class="text" align="left">
<b>Ignore This Type of Component</b>: If this was selected, all this type of component will be ignored and never prompt again after clicking "<b>OK</b>" or "<b>Cancel</b>" Button.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Auto Rename and Never Ask Again</b>: If this was selected, all rename operations will be executed automatically without showing this dialog.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Disable Prefix Wizard</b>: If this was selected, the Prefix feature will be disabled without any renaming or dialog. You can re-enable it in CnPack IDE Wizards setting dialog.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Modify Prefix</b>: Click this button to modify prefix in the rule for this type of component.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Classname Button</b>: Set classname without T to component name.</p>
  </li>
  <li>
<p class="text" align="left">
<b>OK</b>: Confirm modification.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Cancel</b>: Cancel this modification.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Help</b>: Show this help.</p>
  </li>
</ul>
<p class="title">&nbsp;</p>
<p class="title">Rename Manually</p>
<p class="text" align="left">
If you click the 'Prefix Wizard...' menu item in 'CnPack' menu in IDE, a dialog will show as below:</p>
<p class="text" align="center">
<img src="prefixexe.png"></p>
<ul>
  <li>
<p class="text" align="left">
<b>Please Select Which to be Processed</b></p>
  </li>
  <ul>
  <li>
<p class="text" align="left">
<b>Selected Components</b>: The range is selected components in current form. It's enabled when selected count &gt; 0.</p>
  </li>
  <li>
<p class="text" align="left">
<b>All Components in Current Form</b>: The range is all components in current form. It's enabled when current form is form designer.</p>
  </li>
  <li>
<p class="text" align="left">
<b>All Components in All Opened Forms</b>: The range is all components in all opened forms in IDE.</p>
  </li>
  <li>
<p class="text" align="left">
<b>All Components in All Forms of Project</b>: The range is all components in all forms of current project in IDE.</p>
  </li>
  <li>
<p class="text" align="left">
<b>All Components in All Forms of ProjectGroup</b>: The range is all components in all forms of current projectgroup in IDE.</p>
  </li>
  </ul>
  <li>
<p class="text" align="left">
<span lang="zh-cn"><b>Process Those in the List</b></span></p>
  </li>
  <ul>
  <li>
<p class="text" align="left">
<b>Components with Unproper Prefix</b>: Only process those components without a correct prefix in range.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Components with Unproper Prefix or Name + Digital</b>: Only process those components without a correct prefix or auto generated name with digital subfix in range.</p>
  </li>
  <li>
<p class="text" align="left">
<b>All Components including Those Ignored</b> Process all component in range, including those ignored components. It's used to browse and rename batch components.</p>
  </li>
  </ul>
  <li>
<p class="text" align="left">
<b>Process</b>: Process components. If components requiring renaming exist, a prompt dialog will show.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Settings</b>: Display settings dialog.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Close</b>: Close this dialog.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Help</b>: Show this help.</p>
  </li>
</ul>
<p class="text" align="left">
If components requiring renaming exist after clicking '<b>OK</b>', a prompt dialog will show as below.</p>
<p class="text" align="center">
<img src="prefixcomp.png"></p>
<p class="text" align="left">
This dialog shows the components that need renaming. You can choose one item and enter new name in top edit and press enter to confirm this modification.</p>
<p class="text" align="left">
Hint: You can use Up, Down, Home, PgUp, PgDown, End to move cursor.
</p>
<ul>
  <li>
<p class="text" align="left">
<b>Modify</b>: Modify selected component and confirm the new name. It's equal to press enter in edit.</p>
  </li>
  <li>
<p class="text" align="left">
<b>OK</b>: Confirm all rename operations.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Cancel</b>: Cancel this operation and close dialog.</p>
  </li>
  <li>
<p class="text" align="left">
<b>Help</b>: Show this help.</p>
  </li>
</ul>
<p class="text" align="left">
If you do NOT want to modify a name of a component, you can uncheck its checkbox or modify new name to empty.</p>
<p class="text" align="left">
Sorting is supported by clicking column header.</p>
<p class="text" align="left">
&nbsp;</p>
<p class="title">
Settings Dialog</p>
<p class="text" align="left">
Settings dialog of this wizard is as below:</p>
<p class="text" align="center"> <img src="prefixconfig.png"></p>
<ul>
  <li>
    <p class="text"><b>Display Settings</b></p>
    <ul>
      <li>
        <p class="text"><b>Enable Modify Prefix Automatically</b>: Whether allow renaming component automatically, if NOT, all options below will be disabled.</p>
      </li>
      <li>
        <p class="text"><b>Show Dialog when Add New Component or Rename</b>: Whether show renaming dialog to let user enter new component name. If not, renaming will be performed automatically.</p>
      </li>
      <li>
        <p class="text"><b>Prompt for Undefined Prefix</b>: Whether show prefix definition dialog to let user enter the prefix when meeting components without a corresponding prefix rule.</p>
      </li>
      <li>
        <p class="text"><b>Ignore Component Naming after Class Name</b>: Whether ignore those components naming after classname without T, such as MainMenu.</p>
      </li>
      <li>
        <p class="text"><b>Replace the Prefix when Auto-rename</b>: Whether replace the old prefix when computing new names.</p>
      </li>
      <li class="text"> 
        <p><b>Add Underscore after Prefix when Renaming</b>: Whether add an underscore after prefix, i.e. btn_1.</p>
      </li>
      <li><b>Prefix Case Sensitive</b>: Whether match case when judge whether a component has a valid prefix.</li>
      <li><p><b>Use Action Name as New Name if Connected to an Action</b>: If checked and if the component has an Action property, use the prefix + action name (without the action prefix) as the new name of this component.</p></li>
      <li><p><b>Auto Rename when Action Changed</b>: If checked and when the Action property of an unnamed component, or named but does not have a correct prefix, or has a prefix + digital, changed (except to nil), component name will be renamed to prefix + action name (without the action prefix).</p></li>
      <li><p><b>Use DataField as New Name if this Property Exists</b>: If checked and if the component has an DataField property, use the prefix + DataField value as the new name of this component.</p></li>
      <li><p><b>Auto Rename when DataField Changed</b>: If checked and when the DataField property of an unnamed component, or named but does not have a correct prefix, or has a prefix + digital, changed (except to ''), component name will be renamed to prefix + DataField value.</p></li>
      <li><p><b>Use F2 Key to Rename Selected Component in Designer.</b>: If checked, we can use F2 Key in designer to rename selected component.</p></li>
      <li><p><b>Force to Use Ancestor Prefix like TControl/TComponent when Batch Processing</b>: Caution! If this option is checked, the prefix of the parent class (e.g., TControl/TComponent) will be prioritized when batch-processing component prefixes. For example, if the prefix for class TControl is set to "ctl" and this option is checked, all subclasses of TControl, such as TButton, will use "ctl" instead of their own prefixes (e.g., "btn") during batch processing.</p></li>
    </ul>
  </li>
  <li>
    <p class="text"> <b>Component Prefix Settings</b></p>
    <ul>
      <li>
        <p class="text"><b>Modify</b>: Modify selected component type's prefix.</p>
      </li>
      <li>
        <p class="text"><b>Import</b>: Import prefix rules from a file.</p>
      </li>
      <li>
        <p class="text"><b>Export</b>: Export prefix rules to a file.</p>
      </li>
    </ul>
  </li>
  <li>
    <p class="text"> <b>OK</b>: Save settings and close this dialog.</p>
  </li>
  <li>
    <p class="text"> <b>Cancel</b>: Cancel settings modification and close this dialog.</p>
  </li>
  <li>
    <p class="text"> <b>Help</b>: Show this help.</p>
  </li>
</ul>
<p class="text" align="left">Note: If the checkbox before a type was not selected, this type will be ignored when processing.
<p class="title" align="left">&nbsp;
<p class="title">Links</p>
<p class="text" align="left">
<a href="wizards.htm">Basic Operation</a><p class="text" align="left">
<a href="../options/wizconfig.htm">CnWizards Settings</a><p class="text" align="left">
<a href="../cnpack/index.htm">About CnWizards</a>
<p class="text" align="left">&nbsp; 
<hr>
<p class="text" align="center"><a href="https://www.cnpack.org">Copyrights 2001-2025 CnPack Team</a></p>
</body>
</html>